extern crate rand;

use std::io;
use std::cmp::Ordering;
use self::rand::Rng;

// 2. println
#[test]
fn test_println(){
    let x = 5;
    let y = 10;

    println!("x = {} and y = {}", x, y);
}

// 3. rand number
#[test]
fn test_rand(){
    println!("Guess the number!");

    let secret_number = rand::thread_rng().gen_range(1..101);

    println!("The secret number is: {}", secret_number);

    println!("Please input your guess.");

    let mut guess = String::new();

    io::stdin().read_line(&mut guess).expect("Failed to read line.");

    let guess: u32 = guess.trim().parse().expect("Please type a number!");

    println!("You guessed: {}", guess);

    match guess.cmp(&secret_number) {
        Ordering::Less => println!("Too small!"),
        Ordering::Greater => println!("Too big!"),
        Ordering::Equal => println!("You win!"),
    }

}
